<?php 
/* 
 * Filename: authimg.php 
 * 生成彩色验证码图片
 */
session_start();

header('content-type: image/PNG');

$authnum = rand(100000,999999);

// $authnum = rand(1000,9999);//产生一个长度为四位的数字作为验证码
$x_size = 70;//图像的宽度
$y_size = 21;//图像的高度

$im = imagecreate($x_size,$y_size); //创建一个大小为x_size和y_size的空白图像

$black = ImageColorAllocate($im, 0,0,0); //创建调色板,定义颜色
$gray = ImageColorAllocate($im, 200,200,200); //创建调色板,定义颜色

imagefill($im,50,20,$gray); //填充背景色，背景颜色为定义的gray

imagestring($im, 5, 10, 3, $authnum, $black); //将验证码绘入图像，字体颜色为定义的black

//在图片中加入100个干扰象素，防止OCR

for($i=0;$i<100;$i++) { 
    $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); //创建调色板,定义颜色
    imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); //在图片中用randcolor定义的颜色画点
} 


ImagePNG($im); //将GD 图像流im以 PNG 格式输出到标准输出
ImageDestroy($im); //释放与 im 关联的内存

$_SESSION['authcode'] = $authnum;
